package cn.tedu.oop;
/**拓展：方法重写之返回值类型
 * 1.如果父类方法的返回值类型与子类方法的返回值类型一样，肯定没错
 * 2.如果父类方法的返回值类型为：8大基本类型/String/void，子类重写时应该保持一直
 * 3.如果父类方法的返回值类型是其他引用类型，子类方法：父类返回值类型的子类/两者相同*/
public class TestMethod {
}

class Fu{
    public int eat(){
        return 666;
    }
    public String play(){
        return "中午好";
    }
    //定义方法，clean 返回值类型Animal
    public Animal clean(){
        Animal a=new Animal();
        return a;
    }
    public Animal clean1(){
        Animal a=new Animal();
        return a;
    }
}

class Zi extends Fu{
    @Override
    public int eat(){
        return 777;
    }
    @Override
    public Animal clean(){
        Animal a=new Animal();
        return a;
    }
    @Override
    public Cat clean1(){
        Cat c=new Cat();
        return c;
    }

}
class Animal{

}
class Cat extends Animal{

}